home *** CD-ROM | disk | FTP | other *** search
- property meSprite, xxWidht, xWidht, startPos, onStage, moveAnt, jumpable
- global gmObject
-
- on beginSprite me
- meSprite = sprite(me.spriteNum)
- xxWidht = meSprite.member.width
- xWidht = meSprite.member.width / 2
- gmObject.reportThing(me.spriteNum)
- jumpable = value(meSprite.member.name)
- setSpeed(me)
- onStage = 0
- end
-
- on setSpeed me
- speed = gmObject.speed
- if speed = 0 then
- moveAnt = point(0, 0)
- else
- moveAnt = point(-3, 6) + (point(-2, 4) * speed)
- end if
- end
-
- on locZup me
- if meSprite.jumpable = 0 then
- if meSprite.locZ <> (me.spriteNum + 50) then
- meSprite.locZ = me.spriteNum + 50
- updateStage()
- end if
- end if
- end
-
- on locZdown me
- if meSprite.jumpable = 0 then
- if meSprite.locZ <> me.spriteNum then
- meSprite.locZ = me.spriteNum
- updateStage()
- end if
- end if
- end
-
- on setOn me, pNumH, pMyNumH
- if jumpable = 0 then
- v = gmObject.checkOtherZeroJumpables(meSprite)
- if v = 0 then
- setOff(me)
- exit
- end if
- end if
- secPos = -105
- case pNumH of
- 1:
- if xxWidht > 200 then
- v = random(2)
- if v = 1 then
- startPos = point(random(300 - xxWidht) + (180 + xWidht), secPos)
- else
- startPos = point(random(300 - xxWidht) + (680 + xWidht), secPos)
- end if
- else
- startPos = point(random(600 - xxWidht) + (280 + xWidht), secPos)
- end if
- 2:
- if xxWidht > 180 then
- setOff(me)
- exit
- end if
- case pMyNumH of
- 1:
- startPos = point(random(340 - xxWidht) + (280 + xWidht), secPos)
- 2:
- startPos = point(random(340 - xxWidht) + (550 + xWidht), secPos)
- end case
- end case
- meSprite.loc = startPos
- updateStage()
- if gmObject.intersectTestX(meSprite.rect, meSprite) = 1 then
- setOff(me)
- exit
- end if
- onStage = 1
- end
-
- on setOff me
- onStage = 0
- meSprite.locZ = me.spriteNum
- meSprite.loc = point(0, 900)
- gmObject.reCoverThing(meSprite)
- end
-
- on exitFrame me
- if onStage = 1 then
- if meSprite.locV < 650 then
- meSprite.loc = meSprite.loc + moveAnt
- else
- setOff(me)
- end if
- end if
- end
-